/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mrp.beans;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.swing.ImageIcon;
import mrp.persistencia.controller.*;
import mrp.persistencia.controller.exceptions.IllegalOrphanException;
import mrp.persistencia.controller.exceptions.NonexistentEntityException;
import mrp.persistencia.controller.exceptions.PreexistingEntityException;
import mrp.persistencia.controller.exceptions.RollbackFailureException;
import mrp.persistencia.entity.Estructuramaterialesbom;
import mrp.persistencia.entity.Modelocalzado;
//import mrp.entity.EstructuraMaterialesBOM;
//import mrp.entity.GestorBaseDatos;
//import mrp.entity.ModeloCalzado;
//import mrp.login.Login;
//import mrp.web.ModeloCalzadoWeb;

/**
 *
 * @author root
 */
//@ManagedBean(name="modelocalzado")
//@SessionScoped
public class ModeloCalzadoBean implements Serializable{
//    @ManagedProperty("#{usuarioBean}")
//    private UsuarioBean usuarioBean;
//    @ManagedProperty("#{login}")
//    private Login login;
//    @ManagedProperty("#{modelocalzadoweb}")
//    private ModeloCalzadoWeb modelocalzadoweb;
//    @ManagedProperty("#{horma}")
//    private HormaBean horma;
//    @ManagedProperty("#{lineaproduccion}")
//    private LineaProduccionBean lineaproduccion;
//    @ManagedProperty("#{materiaprima}")
//    private MateriaPrimaBean materiaprima;    
    
    private HormaJpaController hormaController;
    private ModelocalzadoJpaController modelocalzadoController;
    private LineaproduccionJpaController lineaproduccionController;
    private MateriaprimaJpaController materiaprimaController;
    private EstructuramaterialesbomJpaController estructuramaterialesController;
    private TallaJpaController tallaController;
    private InsumoJpaController insumoController;
    private AgregadoJpaController agregadoController;
    private CueroJpaController cueroController;
    private ForroJpaController forroController;
    private TacosuelaJpaController tacosuelaController;
    
    private Modelocalzado modelocalzado;
    private List <Estructuramaterialesbom> listaestructuramateriales;

    public ModeloCalzadoBean() {
        this.modelocalzadoController = new ModelocalzadoJpaController();
        this.lineaproduccionController = new LineaproduccionJpaController();
        this.materiaprimaController = new MateriaprimaJpaController();
        this.estructuramaterialesController = new EstructuramaterialesbomJpaController();
        this.hormaController=new HormaJpaController();
        this.tallaController=new TallaJpaController();
        this.insumoController=new InsumoJpaController();
        this.agregadoController=new AgregadoJpaController();
        this.cueroController=new CueroJpaController();
        this.forroController=new ForroJpaController();
        this.tacosuelaController=new TacosuelaJpaController();
        this.modelocalzado = new Modelocalzado();                        
    }

    public InsumoJpaController getInsumoController() {
        return insumoController;
    }

    public void setInsumoController(InsumoJpaController insumoController) {
        this.insumoController = insumoController;
    }

    public AgregadoJpaController getAgregadoController() {
        return agregadoController;
    }

    public void setAgregadoController(AgregadoJpaController agregadoController) {
        this.agregadoController = agregadoController;
    }

    public CueroJpaController getCueroController() {
        return cueroController;
    }

    public void setCueroController(CueroJpaController cueroController) {
        this.cueroController = cueroController;
    }

    public ForroJpaController getForroController() {
        return forroController;
    }

    public void setForroController(ForroJpaController forroController) {
        this.forroController = forroController;
    }

    public TacosuelaJpaController getTacosuelaController() {
        return tacosuelaController;
    }

    public void setTacosuelaController(TacosuelaJpaController tacosuelaController) {
        this.tacosuelaController = tacosuelaController;
    }

    
    
    public TallaJpaController getTallaController() {
        return tallaController;
    }

    public void setTallaController(TallaJpaController tallaController) {
        this.tallaController = tallaController;
    }

    
    
    public EstructuramaterialesbomJpaController getEstructuramaterialesController() {
        return estructuramaterialesController;
    }

    public void setEstructuramaterialesController(EstructuramaterialesbomJpaController estructuramaterialesController) {
        this.estructuramaterialesController = estructuramaterialesController;
    }

    public LineaproduccionJpaController getLineaproduccionController() {
        return lineaproduccionController;
    }

    public void setLineaproduccionController(LineaproduccionJpaController lineaproduccionController) {
        this.lineaproduccionController = lineaproduccionController;
    }

    public List<Estructuramaterialesbom> getListaestructuramateriales() {
        return listaestructuramateriales;
    }

    public void setListaestructuramateriales(List<Estructuramaterialesbom> listaestructuramateriales) {
        this.listaestructuramateriales = listaestructuramateriales;
    }

    public MateriaprimaJpaController getMateriaprimaController() {
        return materiaprimaController;
    }

    public void setMateriaprimaController(MateriaprimaJpaController materiaprimaController) {
        this.materiaprimaController = materiaprimaController;
    }

    public Modelocalzado getModelocalzado() {
        return modelocalzado;
    }

    public void setModelocalzado(Modelocalzado modelocalzado) {
        this.modelocalzado = modelocalzado;
    }

    public ModelocalzadoJpaController getModelocalzadoController() {
        return modelocalzadoController;
    }

    public void setModelocalzadoController(ModelocalzadoJpaController modelocalzadoController) {
        this.modelocalzadoController = modelocalzadoController;
    }

    public HormaJpaController getHormaController() {
        return hormaController;
    }

    public void setHormaController(HormaJpaController hormaController) {
        this.hormaController = hormaController;
    }
    
    
    
//    private ModeloCalzado modeloCalzado;
//    private List<EstructuraMaterialesBOM> listaestructuramaterialesbom;
        
    //-------------------- metodos getters and setters-----------------------

//    public HormaBean getHorma() {
//        return horma;
//    }
//
//    public void setHorma(HormaBean horma) {
//        this.horma = horma;
//    }
//
//    public LineaProduccionBean getLineaproduccion() {
//        return lineaproduccion;
//    }
//
//    public void setLineaproduccion(LineaProduccionBean lineaproduccion) {
//        this.lineaproduccion = lineaproduccion;
//    }
//
//    public Login getLogin() {
//        return login;
//    }
//
//    public void setLogin(Login login) {
//        this.login = login;
//    }
//
//    public MateriaPrimaBean getMateriaprima() {
//        return materiaprima;
//    }
//
//    public void setMateriaprima(MateriaPrimaBean materiaprima) {
//        this.materiaprima = materiaprima;
//    }
//
//    public ModeloCalzadoWeb getModelocalzadoweb() {
//        return modelocalzadoweb;
//    }
//
//    public void setModelocalzadoweb(ModeloCalzadoWeb modelocalzadoweb) {
//        this.modelocalzadoweb = modelocalzadoweb;
//    }
//
//    public UsuarioBean getUsuarioBean() {
//        return usuarioBean;
//    }
//
//    public void setUsuarioBean(UsuarioBean usuarioBean) {
//        this.usuarioBean = usuarioBean;
//    }

//    public ModeloCalzado getModeloCalzado() {
//        return modeloCalzado;
//    }
//
//    public void setModeloCalzado(ModeloCalzado modeloCalzado) {
//        this.modeloCalzado = modeloCalzado;
//    }

//    public List<EstructuraMaterialesBOM> getListaestructuramaterialesbom() {
//        return listaestructuramaterialesbom;
//    }
//
//    public void setListaestructuramaterialesbom(List<EstructuraMaterialesBOM> listaestructuramaterialesbom) {
//        this.listaestructuramaterialesbom = listaestructuramaterialesbom;
//    }
    
    //------getters y setters modelo calzado
//     public String getCodEstructuraMateria() {
//        return this.getModeloCalzado().getCodEstructuraMateria();
//    }
//
//    public void setCodEstructuraMateria(String codEstructuraMateria) {
//        this.getModeloCalzado().setCodEstructuraMateria(codEstructuraMateria);
//    }
//
//    public String getCodigoCalzado() {
//        return this.getModeloCalzado().getCodigoCalzado();
//    }
//
//    public void setCodigoCalzado(String codigoCalzado) {
//        this.getModeloCalzado().setCodigoCalzado(codigoCalzado);
//    }
//
//    public String getDigitador() {
//        return this.getModeloCalzado().getDigitador();
//    }
//
//    public void setDigitador(String digitador) {
//        this.getModeloCalzado().setDigitador(digitador);
//    }
//
//    public boolean isEstado() {
//        return this.getModeloCalzado().isEstado();
//    }
//
//    public void setEstado(boolean estado) {
//        this.getModeloCalzado().setEstado(estado);
//    }
//
//    public String getFechaDigitador() {
//        return this.getModeloCalzado().getFechaDigitador();
//    }
//
//    public void setFechaDigitador(String fechaDigitador) {
//        this.getModeloCalzado().setFechaDigitador(fechaDigitador);
//    }
//
//    public String getHorma_fk() {
//        return this.getModeloCalzado().getHorma_fk();
//    }
//
//    public void setHorma_fk(String horma_fk) {
//        this.getModeloCalzado().setHorma_fk(horma_fk);
//    }
//
//    public ImageIcon getImagenFrontal() {
//        return this.getModeloCalzado().getImagenFrontal();
//    }
//
//    public void setImagenFrontal(ImageIcon imagenFrontal) {
//        this.getModeloCalzado().setImagenFrontal(imagenFrontal);
//    }
//
//    public ImageIcon getImagenPosterior() {
//        return this.getModeloCalzado().getImagenPosterior();
//    }
//
//    public void setImagenPosterior(ImageIcon imagenPosterior) {
//        this.getModeloCalzado().setImagenPosterior(imagenPosterior);
//    }
//
//    public String getLineaProduccion_fk() {
//        return this.getModeloCalzado().getLineaProduccion_fk();
//    }
//
//    public void setLineaProduccion_fk(String lineaProduccion_fk) {
//        this.getModeloCalzado().setLineaProduccion_fk(lineaProduccion_fk);
//    }
//
//    public String getNombreModelo() {
//        return this.getModeloCalzado().getNombreModelo();
//    }
//
//    public void setNombreModelo(String nombreModelo) {
//        this.getModeloCalzado().setNombreModelo(nombreModelo);
//    }
//
//    public String getObservaciones() {
//        return this.getModeloCalzado().getObservaciones();
//    }
//
//    public void setObservaciones(String observaciones) {
//        this.getModeloCalzado().setObservaciones(observaciones);
//    }
//
//    public double getPrecioUnitario() {
//        return this.getModeloCalzado().getPrecioUnitario();
//    }
//
//    public void setPrecioUnitario(double precioUnitario) {
//        this.getModeloCalzado().setPrecioUnitario(precioUnitario);
//    }
//
//    public String getTallaEstandar() {
//        return this.getModeloCalzado().getTallaEstandar();
//    }
//
//    public void setTallaEstandar(String tallaEstandar) {
//        this.getModeloCalzado().setTallaEstandar(tallaEstandar);
//    }
//    //-getters and setters estructuramateriales
//    public double getCantidad(int i) {
//        return this.getListaestructuramaterialesbom().get(i).getCantidad();
//    }
//
//    public void setCantidad(int i,double cantidad) {
//        this.getListaestructuramaterialesbom().get(i).setCantidad(cantidad);
//    }
//
//    public String getCodBom(int i) {
//        return this.getListaestructuramaterialesbom().get(i).getCodBom();
//    }
//
//    public void setCodBom(int i,String codBom) {
//        this.getListaestructuramaterialesbom().get(i).setCodBom(codBom);
//    }
//
//    public String getDescripcion(int i) {
//        return this.getListaestructuramaterialesbom().get(i).getDescripcion();
//    }
//
//    public void setDescripcion(int i,String descripcion) {
//        this.getListaestructuramaterialesbom().get(i).setDescripcion(descripcion);
//    }
//
//    public String getDigitador(int i) {
//        return this.getListaestructuramaterialesbom().get(i).getDigitador();
//    }
//
//    public void setDigitador(int i,String digitador) {
//        this.getListaestructuramaterialesbom().get(i).setDigitador(digitador);
//    }
//
//    public String getFechaDigitador(int i) {
//        return this.getListaestructuramaterialesbom().get(i).getFechaDigitador();
//    }
//
//    public void setFechaDigitador(int i,String fechaDigitador) {
//        this.getListaestructuramaterialesbom().get(i).setFechaDigitador(fechaDigitador);
//    }
//
//    public String getFechaVigencia(int i) {
//        return this.getListaestructuramaterialesbom().get(i).getFechaVigencia();
//    }
//
//    public void setFechaVigencia(int i,String fechaVigencia) {
//        this.getListaestructuramaterialesbom().get(i).setFechaVigencia(fechaVigencia);
//    }
//
//    public String getMateriaPrima_fk(int i) {
//        return this.getListaestructuramaterialesbom().get(i).getMateriaPrima_fk();
//    }
//
//    public void setMateriaPrima_fk(int i,String materiaPrima_fk) {
//        this.getListaestructuramaterialesbom().get(i).setMateriaPrima_fk(materiaPrima_fk);
//    }
//
//    public String getModeloCalzado_fk(int i) {
//        return this.getListaestructuramaterialesbom().get(i).getModeloCalzado_fk();
//    }
//
//    public void setModeloCalzado_fk(int i,String modeloCalzado_fk) {
//        this.getListaestructuramaterialesbom().get(i).setModeloCalzado_fk(modeloCalzado_fk);
//    }
//
//    public boolean isObligatorio(int i) {
//        return this.getListaestructuramaterialesbom().get(i).isObligatorio();
//    }
//
//    public void setObligatorio(int i,boolean obligatorio) {
//        this.getListaestructuramaterialesbom().get(i).setObligatorio(obligatorio);
//    }
    //-----------------fin metodos getters and setters-----------------------
    //-----------------metodos de la clase --------------------------
    @Override
    protected void finalize() throws Throwable {
        super.finalize();
    }
    public void mostrarMensaje(String tipoMensaje,String mensaje, String detalle)
    {
        if(tipoMensaje.equals("info"))
        {
            FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_INFO, mensaje,detalle) );   
        }else{
            if(tipoMensaje.equals("error"))
            {
                FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_ERROR, mensaje,detalle) );   
            }else{
                if(tipoMensaje.equals("fatal"))
                {
                    FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_FATAL, mensaje,detalle) );   
                }else{
                    if(tipoMensaje.equals("alerta"))
                    {
                        FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_WARN, mensaje,detalle) );   
                    }
                }
            }
        }
    }
    public List<Object> crearModeloCalzado()
    {
        List listaRespuesta=new ArrayList<Object>();
         
        try {
            TablaindiceJpaController tic=new TablaindiceJpaController();
            String codEstructuraMaterial=tic.generaCodigo("modelocalzado", "MC");
            this.getModelocalzado().setCodestructuramateria(codEstructuraMaterial);
            String codBom=tic.generaCodigo("estructuramaterialesbom", "EM");
                for(int i=0;i<this.getModelocalzado().getEstructuramaterialesbomList().size();i++)
                {    
                    this.getModelocalzado().getEstructuramaterialesbomList().get(i).setCodbom(codBom);
                    this.getModelocalzado().getEstructuramaterialesbomList().get(i).setModelocalzadoFk(this.getModelocalzado());
                    codBom=tic.creaNuevoCodigo(codBom, "EM");
                }
            this.modelocalzadoController.create(this.getModelocalzado());
            listaRespuesta.add(true);
            listaRespuesta.add("Creado Nuevo Modelo de Calzado!");
            return listaRespuesta;                        
        }        
        catch(IllegalOrphanException ex)
        {
            listaRespuesta.add(false);
            listaRespuesta.add("Error al crear nuevo modelo de calzado!");                       
            ex.printStackTrace();          
//            Logger.getLogger(ClienteBean.class.getName()).log(Level.SEVERE, null, ex);
            
        }
        catch (PreexistingEntityException ex) {
            //System.out.println(" primero por aca!!!! mensaje = "+ex.getMessage());
            listaRespuesta.add(false);
            listaRespuesta.add(ex.getMessage());//"El cliente que desea crear ya existe!");
            ex.printStackTrace();
//            Logger.getLogger(ClienteBean.class.getName()).log(Level.SEVERE, null, ex);
        } catch (RollbackFailureException ex) {
            listaRespuesta.add(false);
            listaRespuesta.add("Error al crear nuevo modelo de calzado!");                       
            ex.printStackTrace();          
//            Logger.getLogger(ClienteBean.class.getName()).log(Level.SEVERE, null, ex);
        } 
        catch (Exception ex) {
            listaRespuesta.add(false);
            listaRespuesta.add("Error al crear nuevo modelo de calzado!");
            //System.out.println("-------------&&&&&&&&&& mensaje = "+ex.getMessage());           
            ex.printStackTrace();            
//            Logger.getLogger(ClienteBean.class.getName()).log(Level.SEVERE, null, ex);
        }
        
         return listaRespuesta;
    }
    public List<Modelocalzado> consultarModelocalzado(String consultar,String criterioConsulta,String coincidencia,boolean todo, int maxResults, int firstResult)
    { 
        consultar=consultar.toUpperCase();
        String query=" select mc";
        String from=" from Modelocalzado as mc";
        String where=" where ";
        if(criterioConsulta.equals("todo")||criterioConsulta.equals(""))
            where="";
        String like="";
        
        if(criterioConsulta.equals("codestructuramateria")||criterioConsulta.equals("codigocalzado")||criterioConsulta.equals("nombremodelo")||criterioConsulta.equals("tallaestandar"))
        {
            like+=" mc."+criterioConsulta+" like ";
            if(coincidencia.equals("todas"))
                like+=" \'%"+consultar+"%\' ";
            else if(coincidencia.equals("exacta"))
                like+=" \'"+consultar+"\' ";
            else if(coincidencia.equals("inicial"))
                like+=" \'"+consultar+"%\' ";
            else if(coincidencia.equals("final"))
                like+=" \'%"+consultar+"\' ";
        }
        else if(criterioConsulta.equals("estado"))
        {
            like+=" mc.estado= ";
            if(consultar.equalsIgnoreCase("activo"))
                like+=" true ";
            else if(consultar.equalsIgnoreCase("inactivo"))
                like+=" false ";
        }
        String orderby=" order by mc.codestructuramateria ";
        System.out.println("--------------La consulta es : "+query+from+where+like+orderby);
        return this.modelocalzadoController.findModelocalzadoWhereOrderBy(query+from+where+like+orderby,todo, maxResults, firstResult);
    }
    public List<Object> modificarModeloCalzado()
    {
        List listaRespuesta=new ArrayList<Object>();
         
        try {    
//                    this.getTacosuela().setCodmateriaprima(numerocliente);                    
            TablaindiceJpaController tic=new TablaindiceJpaController();

            String codbom=tic.generaCodigo("estructuramaterialesbom", "EM");
            for(int i=0;i<this.getModelocalzado().getEstructuramaterialesbomList().size();i++)
            {    
                Estructuramaterialesbom em=this.getModelocalzado().getEstructuramaterialesbomList().get(i);
                if(em.getCodbom()==null)
                {                            
                    this.getModelocalzado().getEstructuramaterialesbomList().get(i).setCodbom(codbom);                            
                    codbom=tic.creaNuevoCodigo(codbom, "EM");
                }  
                this.getModelocalzado().getEstructuramaterialesbomList().get(i).setModelocalzadoFk(this.getModelocalzado());
            }

            this.modelocalzadoController.edit(this.getModelocalzado());
             
            listaRespuesta.add(true);
            listaRespuesta.add("Actualizado datos de Materia Prima!");
            return listaRespuesta;
        } catch (NonexistentEntityException ex) {
            //System.out.println(" primero por aca!!!! mensaje = "+ex.getMessage());
            listaRespuesta.add(false);
            listaRespuesta.add(ex.getMessage());//"El cliente que desea crear ya existe!");
            ex.printStackTrace();
//            Logger.getLogger(ClienteBean.class.getName()).log(Level.SEVERE, null, ex);
        } catch (RollbackFailureException ex) {
            listaRespuesta.add(false);
            listaRespuesta.add("Error al actualizar datos de Materia Prima!");                       
            ex.printStackTrace();          
//            Logger.getLogger(ClienteBean.class.getName()).log(Level.SEVERE, null, ex);
        } 
        catch (Exception ex) {
            listaRespuesta.add(false);
            listaRespuesta.add("Error al actualizar datos de Materia Prima!");
            //System.out.println("-------------&&&&&&&&&& mensaje = "+ex.getMessage());           
            ex.printStackTrace();            
            Logger.getLogger(ClienteBean.class.getName()).log(Level.SEVERE, null, ex);
        }
        
         return listaRespuesta;
    }

    public List<Object> eliminarModeloCalzado(String codestructuramateria) 
    {
        List listaRespuesta=new ArrayList<Object>();        
        
        //verificar que la materia prima no este asociada con la estructura de materiales y de uso en el inventario
        //select count(mp.codmateriaprima) from materiaprima as mp, estructuramaterialesbom bom where mp.codmateriaprima=bom.materiaprima_fk and mp.codmateriaprima=''
        
//        enBOM=Integer.parseInt((gbd.select("select count(Codbom) from estructuramaterialesbom where  materiaprima_fk= \'"+codMateriaPrima+"\'")).get(0).toString()); 

        try {                                    
            this.modelocalzadoController.destroy(codestructuramateria);
            listaRespuesta.add(true);
            listaRespuesta.add("Modelo de Calzado "+codestructuramateria+" eliminado!");
            return listaRespuesta;
        } catch (NonexistentEntityException ex) {
            listaRespuesta.add(false);
            listaRespuesta.add("Modelo de Calzado "+codestructuramateria+", que desea eliminar no existe!");
            ex.printStackTrace();
            Logger.getLogger(HormaBean.class.getName()).log(Level.SEVERE, null, ex);        
        } catch (Exception ex) {
            listaRespuesta.add(false);
            listaRespuesta.add("Error al eliminar Modelo de Calzado "+codestructuramateria+"! "+ex);
            ex.printStackTrace();
            Logger.getLogger(HormaBean.class.getName()).log(Level.SEVERE, null, ex);
        }
        return listaRespuesta;
    }
    
    
    
    
    
    
    
    //------------------------------------------------------------------------//
    //Clases para administracion de las tablas
    public static class tablaModeloCalzado{
        private String codEstructuraMateria;
        private String codigoCalzado;
        private String nombreModelo;
        private String nombreLineaProduccion;
        private String nombreHorma;
        private String estado;
        private String lineaProduccion_fk;
        private String horma_fk;

        public tablaModeloCalzado(String codEstructuraMateria, String codigoCalzado, String nombreModelo, String nombreLineaProduccion, String nombreHorma, String estado, String lineaProduccion_fk, String horma_fk) {
            this.codEstructuraMateria = codEstructuraMateria;
            this.codigoCalzado = codigoCalzado;
            this.nombreModelo = nombreModelo;
            this.nombreLineaProduccion = nombreLineaProduccion;
            this.nombreHorma = nombreHorma;
            this.estado = estado;
            this.lineaProduccion_fk = lineaProduccion_fk;
            this.horma_fk = horma_fk;
        }

                
        public String getHorma_fk() {
            return horma_fk;
        }

        public void setHorma_fk(String horma_fk) {
            this.horma_fk = horma_fk;
        }

        public String getLineaProduccion_fk() {
            return lineaProduccion_fk;
        }

        public void setLineaProduccion_fk(String lineaProduccion_fk) {
            this.lineaProduccion_fk = lineaProduccion_fk;
        }
        public String getCodEstructuraMateria() {
            return codEstructuraMateria;
        }

        public void setCodEstructuraMateria(String codEstructuraMateria) {
            this.codEstructuraMateria = codEstructuraMateria;
        }

        public String getCodigoCalzado() {
            return codigoCalzado;
        }

        public void setCodigoCalzado(String codigoCalzado) {
            this.codigoCalzado = codigoCalzado;
        }

        public String getEstado() {
            return estado;
        }

        public void setEstado(String estado) {
            this.estado = estado;
        }

        public String getNombreHorma() {
            return nombreHorma;
        }

        public void setNombreHorma(String nombreHorma) {
            this.nombreHorma = nombreHorma;
        }

        public String getNombreLineaProduccion() {
            return nombreLineaProduccion;
        }

        public void setNombreLineaProduccion(String nombreLineaProduccion) {
            this.nombreLineaProduccion = nombreLineaProduccion;
        }

        public String getNombreModelo() {
            return nombreModelo;
        }

        public void setNombreModelo(String nombreModelo) {
            this.nombreModelo = nombreModelo;
        }
        
    }
    public static class tablaEstructuraMateriales{
        private String nombreInsumo;
        private String nombreMateriaPrima;
        private double cantidad;
        private String nombreUnidadMedida;        
        private String fechaVigencia;
        private String esObligatorio;
        private String descripcion;
        private String insumo_fk;
        private String materiaPrima_fk; 
        private String modeloCalzado_fk;
        private String codbom;
        private String unidadmedida;       

//        public tablaEstructuraMateriales(String nombreInsumo, String nombreMateriaPrima, double cantidad, String nombreUnidadMedida, String fechaVigencia, String esObligatorio, String descripcion, String materiaPrima_fk, String modeloCalzado_fk) {
//            this.nombreInsumo = nombreInsumo;
//            this.nombreMateriaPrima = nombreMateriaPrima;
//            this.cantidad = cantidad;
//            this.nombreUnidadMedida = nombreUnidadMedida;
//            this.fechaVigencia = fechaVigencia;
//            this.esObligatorio = esObligatorio;
//            this.descripcion = descripcion;
//            this.materiaPrima_fk = materiaPrima_fk;
//            this.modeloCalzado_fk = modeloCalzado_fk;
//        }

        public tablaEstructuraMateriales(String nombreInsumo, String nombreMateriaPrima, double cantidad, String nombreUnidadMedida, String fechaVigencia, String esObligatorio, String descripcion, String insumo_fk, String materiaPrima_fk, String modeloCalzado_fk) {
            this.nombreInsumo = nombreInsumo;
            this.nombreMateriaPrima = nombreMateriaPrima;
            this.cantidad = cantidad;
            this.nombreUnidadMedida = nombreUnidadMedida;
            this.fechaVigencia = fechaVigencia;
            this.esObligatorio = esObligatorio;
            this.descripcion = descripcion;
            this.insumo_fk = insumo_fk;
            this.materiaPrima_fk = materiaPrima_fk;

            this.modeloCalzado_fk = modeloCalzado_fk;
        }
        public tablaEstructuraMateriales(String nombreInsumo, String nombreMateriaPrima, double cantidad, String nombreUnidadMedida, String fechaVigencia, String esObligatorio, String descripcion, String insumo_fk, String materiaPrima_fk, String modeloCalzado_fk,String codbom,String unidadmedida) {
            this.nombreInsumo = nombreInsumo;
            this.nombreMateriaPrima = nombreMateriaPrima;
            this.cantidad = cantidad;
            this.nombreUnidadMedida = nombreUnidadMedida;
            this.fechaVigencia = fechaVigencia;
            this.esObligatorio = esObligatorio;
            this.descripcion = descripcion;
            this.insumo_fk = insumo_fk;
            this.materiaPrima_fk = materiaPrima_fk;
            
            this.modeloCalzado_fk = modeloCalzado_fk;
            this.codbom=codbom;
            this.unidadmedida=unidadmedida;
        }
        public String getCodbom() {
            return codbom;
        }

        public void setCodbom(String codbom) {
            this.codbom = codbom;
        }

        public String getUnidadmedida() {
            return unidadmedida;
        }

        public void setUnidadmedida(String unidadmedida) {
            this.unidadmedida = unidadmedida;
        }

        
        public double getCantidad() {
            return cantidad;
        }

        public void setCantidad(double cantidad) {
            this.cantidad = cantidad;
        }

        public String getDescripcion() {
            return descripcion;
        }

        public void setDescripcion(String descripcion) {
            this.descripcion = descripcion;
        }

        public String getEsObligatorio() {
            return esObligatorio;
        }

        public void setEsObligatorio(String esObligatorio) {
            this.esObligatorio = esObligatorio;
        }

        public String getFechaVigencia() {
            return fechaVigencia;
        }

        public void setFechaVigencia(String fechaVigencia) {
            this.fechaVigencia = fechaVigencia;
        }

        public String getMateriaPrima_fk() {
            return materiaPrima_fk;
        }

        public void setMateriaPrima_fk(String materiaPrima_fk) {
            this.materiaPrima_fk = materiaPrima_fk;
        }

        public String getModeloCalzado_fk() {
            return modeloCalzado_fk;
        }

        public void setModeloCalzado_fk(String modeloCalzado_fk) {
            this.modeloCalzado_fk = modeloCalzado_fk;
        }

        public String getNombreInsumo() {
            return nombreInsumo;
        }

        public void setNombreInsumo(String nombreInsumo) {
            this.nombreInsumo = nombreInsumo;
        }

        public String getNombreMateriaPrima() {
            return nombreMateriaPrima;
        }

        public void setNombreMateriaPrima(String nombreMateriaPrima) {
            this.nombreMateriaPrima = nombreMateriaPrima;
        }

        public String getNombreUnidadMedida() {
            return nombreUnidadMedida;
        }

        public void setNombreUnidadMedida(String nombreUnidadMedida) {
            this.nombreUnidadMedida = nombreUnidadMedida;
        }

        public String getInsumo_fk() {
            return insumo_fk;
        }

        public void setInsumo_fk(String insumo_fk) {
            this.insumo_fk = insumo_fk;
        }

    
    }
}







/*
// * To change this template, choose Tools | Templates
// * and open the template in the editor.
// */
//package mrp.beans;
//
//import java.io.Serializable;
//import java.util.ArrayList;
//import java.util.List;
//import javax.faces.application.FacesMessage;
//import javax.faces.bean.ManagedBean;
//import javax.faces.bean.ManagedProperty;
//import javax.faces.bean.SessionScoped;
//import javax.faces.context.FacesContext;
//import javax.swing.ImageIcon;
//import mrp.entity.EstructuraMaterialesBOM;
//import mrp.entity.GestorBaseDatos;
//import mrp.entity.ModeloCalzado;
//import mrp.login.Login;
//import mrp.web.ModeloCalzadoWeb;
//
///**
// *
// * @author root
// */
//@ManagedBean(name="modelocalzado")
//@SessionScoped
//public class ModeloCalzadoBean implements Serializable{
//    @ManagedProperty("#{usuarioBean}")
//    private UsuarioBean usuarioBean;
//    @ManagedProperty("#{login}")
//    private Login login;
//    @ManagedProperty("#{modelocalzadoweb}")
//    private ModeloCalzadoWeb modelocalzadoweb;
//    @ManagedProperty("#{horma}")
//    private HormaBean horma;
//    @ManagedProperty("#{lineaproduccion}")
//    private LineaProduccionBean lineaproduccion;
//    @ManagedProperty("#{materiaprima}")
//    private MateriaPrimaBean materiaprima;    
//    
//    private ModeloCalzado modeloCalzado;
//    private List<EstructuraMaterialesBOM> listaestructuramaterialesbom;
//        
//    //-------------------- metodos getters and setters-----------------------
//
//    public HormaBean getHorma() {
//        return horma;
//    }
//
//    public void setHorma(HormaBean horma) {
//        this.horma = horma;
//    }
//
//    public LineaProduccionBean getLineaproduccion() {
//        return lineaproduccion;
//    }
//
//    public void setLineaproduccion(LineaProduccionBean lineaproduccion) {
//        this.lineaproduccion = lineaproduccion;
//    }
//
//    public Login getLogin() {
//        return login;
//    }
//
//    public void setLogin(Login login) {
//        this.login = login;
//    }
//
//    public MateriaPrimaBean getMateriaprima() {
//        return materiaprima;
//    }
//
//    public void setMateriaprima(MateriaPrimaBean materiaprima) {
//        this.materiaprima = materiaprima;
//    }
//
//    public ModeloCalzadoWeb getModelocalzadoweb() {
//        return modelocalzadoweb;
//    }
//
//    public void setModelocalzadoweb(ModeloCalzadoWeb modelocalzadoweb) {
//        this.modelocalzadoweb = modelocalzadoweb;
//    }
//
//    public UsuarioBean getUsuarioBean() {
//        return usuarioBean;
//    }
//
//    public void setUsuarioBean(UsuarioBean usuarioBean) {
//        this.usuarioBean = usuarioBean;
//    }
//
//    public ModeloCalzado getModeloCalzado() {
//        return modeloCalzado;
//    }
//
//    public void setModeloCalzado(ModeloCalzado modeloCalzado) {
//        this.modeloCalzado = modeloCalzado;
//    }
//
//    public List<EstructuraMaterialesBOM> getListaestructuramaterialesbom() {
//        return listaestructuramaterialesbom;
//    }
//
//    public void setListaestructuramaterialesbom(List<EstructuraMaterialesBOM> listaestructuramaterialesbom) {
//        this.listaestructuramaterialesbom = listaestructuramaterialesbom;
//    }
//    
//    //------getters y setters modelo calzado
//     public String getCodEstructuraMateria() {
//        return this.getModeloCalzado().getCodEstructuraMateria();
//    }
//
//    public void setCodEstructuraMateria(String codEstructuraMateria) {
//        this.getModeloCalzado().setCodEstructuraMateria(codEstructuraMateria);
//    }
//
//    public String getCodigoCalzado() {
//        return this.getModeloCalzado().getCodigoCalzado();
//    }
//
//    public void setCodigoCalzado(String codigoCalzado) {
//        this.getModeloCalzado().setCodigoCalzado(codigoCalzado);
//    }
//
//    public String getDigitador() {
//        return this.getModeloCalzado().getDigitador();
//    }
//
//    public void setDigitador(String digitador) {
//        this.getModeloCalzado().setDigitador(digitador);
//    }
//
//    public boolean isEstado() {
//        return this.getModeloCalzado().isEstado();
//    }
//
//    public void setEstado(boolean estado) {
//        this.getModeloCalzado().setEstado(estado);
//    }
//
//    public String getFechaDigitador() {
//        return this.getModeloCalzado().getFechaDigitador();
//    }
//
//    public void setFechaDigitador(String fechaDigitador) {
//        this.getModeloCalzado().setFechaDigitador(fechaDigitador);
//    }
//
//    public String getHorma_fk() {
//        return this.getModeloCalzado().getHorma_fk();
//    }
//
//    public void setHorma_fk(String horma_fk) {
//        this.getModeloCalzado().setHorma_fk(horma_fk);
//    }
//
//    public ImageIcon getImagenFrontal() {
//        return this.getModeloCalzado().getImagenFrontal();
//    }
//
//    public void setImagenFrontal(ImageIcon imagenFrontal) {
//        this.getModeloCalzado().setImagenFrontal(imagenFrontal);
//    }
//
//    public ImageIcon getImagenPosterior() {
//        return this.getModeloCalzado().getImagenPosterior();
//    }
//
//    public void setImagenPosterior(ImageIcon imagenPosterior) {
//        this.getModeloCalzado().setImagenPosterior(imagenPosterior);
//    }
//
//    public String getLineaProduccion_fk() {
//        return this.getModeloCalzado().getLineaProduccion_fk();
//    }
//
//    public void setLineaProduccion_fk(String lineaProduccion_fk) {
//        this.getModeloCalzado().setLineaProduccion_fk(lineaProduccion_fk);
//    }
//
//    public String getNombreModelo() {
//        return this.getModeloCalzado().getNombreModelo();
//    }
//
//    public void setNombreModelo(String nombreModelo) {
//        this.getModeloCalzado().setNombreModelo(nombreModelo);
//    }
//
//    public String getObservaciones() {
//        return this.getModeloCalzado().getObservaciones();
//    }
//
//    public void setObservaciones(String observaciones) {
//        this.getModeloCalzado().setObservaciones(observaciones);
//    }
//
//    public double getPrecioUnitario() {
//        return this.getModeloCalzado().getPrecioUnitario();
//    }
//
//    public void setPrecioUnitario(double precioUnitario) {
//        this.getModeloCalzado().setPrecioUnitario(precioUnitario);
//    }
//
//    public String getTallaEstandar() {
//        return this.getModeloCalzado().getTallaEstandar();
//    }
//
//    public void setTallaEstandar(String tallaEstandar) {
//        this.getModeloCalzado().setTallaEstandar(tallaEstandar);
//    }
//    //-getters and setters estructuramateriales
//    public double getCantidad(int i) {
//        return this.getListaestructuramaterialesbom().get(i).getCantidad();
//    }
//
//    public void setCantidad(int i,double cantidad) {
//        this.getListaestructuramaterialesbom().get(i).setCantidad(cantidad);
//    }
//
//    public String getCodBom(int i) {
//        return this.getListaestructuramaterialesbom().get(i).getCodBom();
//    }
//
//    public void setCodBom(int i,String codBom) {
//        this.getListaestructuramaterialesbom().get(i).setCodBom(codBom);
//    }
//
//    public String getDescripcion(int i) {
//        return this.getListaestructuramaterialesbom().get(i).getDescripcion();
//    }
//
//    public void setDescripcion(int i,String descripcion) {
//        this.getListaestructuramaterialesbom().get(i).setDescripcion(descripcion);
//    }
//
//    public String getDigitador(int i) {
//        return this.getListaestructuramaterialesbom().get(i).getDigitador();
//    }
//
//    public void setDigitador(int i,String digitador) {
//        this.getListaestructuramaterialesbom().get(i).setDigitador(digitador);
//    }
//
//    public String getFechaDigitador(int i) {
//        return this.getListaestructuramaterialesbom().get(i).getFechaDigitador();
//    }
//
//    public void setFechaDigitador(int i,String fechaDigitador) {
//        this.getListaestructuramaterialesbom().get(i).setFechaDigitador(fechaDigitador);
//    }
//
//    public String getFechaVigencia(int i) {
//        return this.getListaestructuramaterialesbom().get(i).getFechaVigencia();
//    }
//
//    public void setFechaVigencia(int i,String fechaVigencia) {
//        this.getListaestructuramaterialesbom().get(i).setFechaVigencia(fechaVigencia);
//    }
//
//    public String getMateriaPrima_fk(int i) {
//        return this.getListaestructuramaterialesbom().get(i).getMateriaPrima_fk();
//    }
//
//    public void setMateriaPrima_fk(int i,String materiaPrima_fk) {
//        this.getListaestructuramaterialesbom().get(i).setMateriaPrima_fk(materiaPrima_fk);
//    }
//
//    public String getModeloCalzado_fk(int i) {
//        return this.getListaestructuramaterialesbom().get(i).getModeloCalzado_fk();
//    }
//
//    public void setModeloCalzado_fk(int i,String modeloCalzado_fk) {
//        this.getListaestructuramaterialesbom().get(i).setModeloCalzado_fk(modeloCalzado_fk);
//    }
//
//    public boolean isObligatorio(int i) {
//        return this.getListaestructuramaterialesbom().get(i).isObligatorio();
//    }
//
//    public void setObligatorio(int i,boolean obligatorio) {
//        this.getListaestructuramaterialesbom().get(i).setObligatorio(obligatorio);
//    }
//    //-----------------fin metodos getters and setters-----------------------
//    //-----------------metodos de la clase --------------------------
//    @Override
//    protected void finalize() throws Throwable {
//        super.finalize();
//    }
//    public void mostrarMensaje(String tipoMensaje,String mensaje, String detalle)
//    {
//        if(tipoMensaje.equals("info"))
//        {
//            FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_INFO, mensaje,detalle) );   
//        }else{
//            if(tipoMensaje.equals("error"))
//            {
//                FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_ERROR, mensaje,detalle) );   
//            }else{
//                if(tipoMensaje.equals("fatal"))
//                {
//                    FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_FATAL, mensaje,detalle) );   
//                }else{
//                    if(tipoMensaje.equals("alerta"))
//                    {
//                        FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_WARN, mensaje,detalle) );   
//                    }
//                }
//            }
//        }
//    }
//    
//    public boolean verificarLogin()
//    {
//        if(login.verificarSesionUsuario().equals(usuarioBean.getUsuario().getIdSesion()))
//        {           
//            return true;
//        }
//        else
//        {
//            this.mostrarMensaje("error","No está ingresado al sistema","");
//            //this.borrarDatos();
//        }
//        return false;
//    }
//    private void setearConexion(GestorBaseDatos gbd)
//    {
//        gbd.setUsuario(usuarioBean.getUsuario().getCedulaUsuario());
//        gbd.setClave(usuarioBean.getUsuario().getClave());
//        gbd.setBasedatos("BDEgoZapateria");
//        gbd.setPuerto("5432");
//        gbd.setServidor("localhost");
//    }
//    
//    
//    
//    
//    
//    
//    
//    //------------------------------------------------------------------------//
//    //Clases para administracion de las tablas
//    public static class tablaModeloCalzado{
//        private String codEstructuraMateria;
//        private String codigoCalzado;
//        private String nombreModelo;
//        private String nombreLineaProduccion;
//        private String nombreHorma;
//        private String estado;
//        private String lineaProduccion_fk;
//        private String horma_fk;
//
//        public tablaModeloCalzado(String codEstructuraMateria, String codigoCalzado, String nombreModelo, String nombreLineaProduccion, String nombreHorma, String estado, String lineaProduccion_fk, String horma_fk) {
//            this.codEstructuraMateria = codEstructuraMateria;
//            this.codigoCalzado = codigoCalzado;
//            this.nombreModelo = nombreModelo;
//            this.nombreLineaProduccion = nombreLineaProduccion;
//            this.nombreHorma = nombreHorma;
//            this.estado = estado;
//            this.lineaProduccion_fk = lineaProduccion_fk;
//            this.horma_fk = horma_fk;
//        }
//
//                
//        public String getHorma_fk() {
//            return horma_fk;
//        }
//
//        public void setHorma_fk(String horma_fk) {
//            this.horma_fk = horma_fk;
//        }
//
//        public String getLineaProduccion_fk() {
//            return lineaProduccion_fk;
//        }
//
//        public void setLineaProduccion_fk(String lineaProduccion_fk) {
//            this.lineaProduccion_fk = lineaProduccion_fk;
//        }
//        public String getCodEstructuraMateria() {
//            return codEstructuraMateria;
//        }
//
//        public void setCodEstructuraMateria(String codEstructuraMateria) {
//            this.codEstructuraMateria = codEstructuraMateria;
//        }
//
//        public String getCodigoCalzado() {
//            return codigoCalzado;
//        }
//
//        public void setCodigoCalzado(String codigoCalzado) {
//            this.codigoCalzado = codigoCalzado;
//        }
//
//        public String getEstado() {
//            return estado;
//        }
//
//        public void setEstado(String estado) {
//            this.estado = estado;
//        }
//
//        public String getNombreHorma() {
//            return nombreHorma;
//        }
//
//        public void setNombreHorma(String nombreHorma) {
//            this.nombreHorma = nombreHorma;
//        }
//
//        public String getNombreLineaProduccion() {
//            return nombreLineaProduccion;
//        }
//
//        public void setNombreLineaProduccion(String nombreLineaProduccion) {
//            this.nombreLineaProduccion = nombreLineaProduccion;
//        }
//
//        public String getNombreModelo() {
//            return nombreModelo;
//        }
//
//        public void setNombreModelo(String nombreModelo) {
//            this.nombreModelo = nombreModelo;
//        }
//        
//    }
//    public static class tablaEstructuraMateriales{
//        private String nombreInsumo;
//        private String nombreMateriaPrima;
//        private double cantidad;
//        private String nombreUnidadMedida;        
//        private String fechaVigencia;
//        private String esObligatorio;
//        private String descripcion;
//        private String materiaPrima_fk;
//        private String modeloCalzado_fk;
//
//        public tablaEstructuraMateriales(String nombreInsumo, String nombreMateriaPrima, double cantidad, String nombreUnidadMedida, String fechaVigencia, String esObligatorio, String descripcion, String materiaPrima_fk, String modeloCalzado_fk) {
//            this.nombreInsumo = nombreInsumo;
//            this.nombreMateriaPrima = nombreMateriaPrima;
//            this.cantidad = cantidad;
//            this.nombreUnidadMedida = nombreUnidadMedida;
//            this.fechaVigencia = fechaVigencia;
//            this.esObligatorio = esObligatorio;
//            this.descripcion = descripcion;
//            this.materiaPrima_fk = materiaPrima_fk;
//            this.modeloCalzado_fk = modeloCalzado_fk;
//        }
//
//        public double getCantidad() {
//            return cantidad;
//        }
//
//        public void setCantidad(double cantidad) {
//            this.cantidad = cantidad;
//        }
//
//        public String getDescripcion() {
//            return descripcion;
//        }
//
//        public void setDescripcion(String descripcion) {
//            this.descripcion = descripcion;
//        }
//
//        public String getEsObligatorio() {
//            return esObligatorio;
//        }
//
//        public void setEsObligatorio(String esObligatorio) {
//            this.esObligatorio = esObligatorio;
//        }
//
//        public String getFechaVigencia() {
//            return fechaVigencia;
//        }
//
//        public void setFechaVigencia(String fechaVigencia) {
//            this.fechaVigencia = fechaVigencia;
//        }
//
//        public String getMateriaPrima_fk() {
//            return materiaPrima_fk;
//        }
//
//        public void setMateriaPrima_fk(String materiaPrima_fk) {
//            this.materiaPrima_fk = materiaPrima_fk;
//        }
//
//        public String getModeloCalzado_fk() {
//            return modeloCalzado_fk;
//        }
//
//        public void setModeloCalzado_fk(String modeloCalzado_fk) {
//            this.modeloCalzado_fk = modeloCalzado_fk;
//        }
//
//        public String getNombreInsumo() {
//            return nombreInsumo;
//        }
//
//        public void setNombreInsumo(String nombreInsumo) {
//            this.nombreInsumo = nombreInsumo;
//        }
//
//        public String getNombreMateriaPrima() {
//            return nombreMateriaPrima;
//        }
//
//        public void setNombreMateriaPrima(String nombreMateriaPrima) {
//            this.nombreMateriaPrima = nombreMateriaPrima;
//        }
//
//        public String getNombreUnidadMedida() {
//            return nombreUnidadMedida;
//        }
//
//        public void setNombreUnidadMedida(String nombreUnidadMedida) {
//            this.nombreUnidadMedida = nombreUnidadMedida;
//        }
//    }
//}
